package com.jt.aop;

import org.aspectj.lang.JoinPoint;
import org.aspectj.lang.ProceedingJoinPoint;
import org.aspectj.lang.annotation.Around;
import org.aspectj.lang.annotation.Aspect;
import org.springframework.core.annotation.Order;
import org.springframework.stereotype.Component;

@Component
@Aspect    //标识切面类
@Order     //AOP表示第一个执行  数字越小越靠前
public class SpringAOP2 {

    //
    @Around("@annotation(com.jt.anno.Zy)")
    public Object around(ProceedingJoinPoint joinPoint) throws Throwable {

        //1.如果有下一个通知，则执行通知方法，没有通知，则执行目标方法

        System.out.println("执行环绕通知B开始");
        Object result = joinPoint.proceed();
        System.out.println("执行环绕通知B结束");
        return result;
    }
}
